<html>
<body>
<h1>
		State Theater Project
</h1>
<h3>Copyright 2007-2008 by James M. Curran</h3>
<p>
I've always hated open-source projects that are just dumps of
source&nbsp; code without any documentation to guide the user.&nbsp; Then, of 
	course, I ended up creating one just like that.&nbsp; So, now, nearly a year 
	late, I figured it&#39;s about time I wrote some commentary on this.<p>
	To fully understand what&#39;s going on here, you really should read the 
	introductions to Monorail &amp; Windsor at the Castle Project site (<a 
		href="http://www.castleproject.org">http://www.castleproject.org</a>), but 
	in the meantime, this should make the code less perplexing.<p>
	Screenshot #1 - samples\01-Playing.mht<p>
	(MHT files combine an html page and all it&#39;s linked images, css etc files into 
	one big file, which, as far as I know, can only be read by Internet Explorer.</p>
<p>
	01-Playing shows what you&#39;d see when you first come to the site.&nbsp; The 
	default.aspx is redirects to /Show/playing.rails.&nbsp; Throught the magic of 
	Monorail, this means to call the Playing() method in the ShowController which is 
	in the StateTheaterCastle projects (in the Controllers folder).&nbsp; The raw 
	data is read from the database, and then formatted using the template in 
	playing.vm, which is the the Web project, in the /Views/Shows folder.&nbsp; 
	Those handle the meat of the page. The common part around the edges is handled 
	by the layout, which is in /Views/layouts/default.vm.</p>
<p>
	Screenshot #2. samples\02-Show-Display.mht</p>
<p>
	If you were to click on a title of one of the shows listed on the Playing page, 
	you&#39;d go to a page describing the productions, very similar to 02-Show-Display.&nbsp;&nbsp; 
	This is handled by the Display method in the ShowController, and the 
	/Views/Show/Display.vm template.</p>
<p>
	Screenshot #3 - samples\03-Person-display.mht</p>
<p>
	Clicking on a persons name bring you to their page, which lists their 
	involvement in various shows, and (possibly) a bio &amp; photo, plus a few other 
	features.&nbsp; This page is handled by PersonController.Display(), and the 
	/Views/Person/Display.vm</p>
<p>
	By now you should be seeing pattern:</p>
<p>
	URL: /Person/Display.rails?id=1234</p>
<p>
	calls method PersonController.Display(1234);</p>
<p>
	and uses template /views/Person/Display.vm</p>
<p>
	In general the pattern is:</p>
<p>
	URL:/{controllerName}/{action}.rails?parm={value}</p>
<p>
	call method {controllerName}Controller.Action(value);</p>
<p>
	and use template /Views/ControllerName/Action.vm</p>
<p>
	A few more sample to around things up:</p>
<p>
	Screenshot #4 - samples\04-Troupe-Display.mht</p>
<p>
	Displays the page describing a performing company.&nbsp; 
	/Troupe/Display.rails?id=1234</p>
<p>
	Screenshot #5 - samples\05-Statistic-MostPopularAuthors.mht</p>
<p>
	Displays statistics pulled from the database.&nbsp; 
	/Statistics/MostPopularAuthors.rails</p>

</body></html>